home *** CD-ROM | disk | FTP | other *** search
- /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
- /* |_o_o|\\ Copyright (c) 1986 The Software Distillery. All Rights Reserved */
- /* |. o.| || This program may not be distributed without the permission of */
- /* | . | || the authors. */
- /* | o | || Dave Baker Ed Burnette Stan Chow BBS: */
- /* | . |// Jay Denebeim Gordon Keener Jack Rouse (919)-471-6436 */
- /* ====== John Toebes Mary Ellen Toebes Doug Walker */
- /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-
- MemWatch by John Toebes © 1986 The Software Distillery. All Rights Reserved
- 235 Trillingham Ln, Cary, NC 27511
-
- Contributions to continue development of this and other fine products for the
- Amiga should be sent to the Software Distillery at the above address.
-
- Other Products produced by the Software Distillery are:
- BLINK - the Turbo-charged Alink replacement
- POPCLI II - Screen saver and Pop up CLI hotkey
- HACK - The Amiga port of the famous UNIX game
- MAKE - A software development tool one shouldn't be without
- KERMIT - The World renown file transfer protocol brought to the Amiga
- ICONEXEC, SETALTERNATE, SETWINDOW - Icon manipulation tools
- WBRUN - A tool to run active workbench icons from CLI
- TSIZE - A short utility for determining directory sizes.
- All of these are available on our BBS.
-
- Permission is hereby granted to distribute this program provided both this
- documentation accompanies the executable and that no charge is made for its
- distribution. Contributions to the Distillery are encouraged. If you wish
- to include this program in a comercial product, contact us first.
-
- MemWatch is a program intended to sit in the background and watch for
- random trashing of low memory by an application under development.
- If it detects a write to low memory, it repairs it to what used to be there,
- then puts up a requester indicating what damage had been done.
-
- There is no guarentee that this program will catch all trashes (particularly
- those to location 4) or that it will always be able to repair the trash in
- time. All is dependent upon how often it gets run and how much damage has
- been done.
-
- The syntax to invoke MemWatch is:
- RUN MemWatch [<n>]
-
- Where <n> is the optional number of microseconds between memory checking.
- It defaults to 5000 with a lower limit of 20. Note that in reality, any
- value less than 20000 is not likely to have a great difference because the
- task switching occurs about every 20miliseconds.
-
- When a memory trash occurs, it will put up a small alert of the form:
- ||======================================================================||
- || Someone stomped on low memory $aaaaaaaa with $dddddddd cccc! ||
- || Press either mouse button to continue. ||
- ||======================================================================||
- where $aaaaaaaa is the address that got trashed, $dddddddd is the value
- that someone tried to sneak into there and cccc are the ASCII characters
- coresponding to that data.
-
- MemWatch can be terminated by breaking the task that is running under.
- For example if it is task #3, then the command:
- Break 3 ALL
- should cause it to quit.
-
- MemWatch is not intended for the casual user. It is useful as a debugging
- assist in developing an application program to catch wild pointers
- (especially referencing through a NULL pointer).
-
-
- Supressing the Copyright message:
- RUN MemWatch >NIL:
-
- Known Bugs:
- None so far...
-
- How it works:
- MemWatch saves a copy of the first 100 bytes of memory in it's own space.
- Then every after the specified number of micro seconds, it compares what
- is there with what it has in its copy. If they differ, it patches up
- low memory with what it has and then puts up an alert indicating the
- offending values.
-